The Internet is a global system of interconnected computer networks that allow communication and the interchange of data through packet switching using the standardized Internet Protocol (IP) Suite. The Internet carries various information resources and services, such as email, online chat, file transfer and file sharing, online gaming, and the hypertext documents and other resources provided by websites. A web browser is a software application which enables a user to display and interact with text, images, videos, music and other information located on a website on the Internet. Text and images on a page within a website can contain links to other pages at the same or different website. Web browsers allow a user quickly and easily to access information provided on pages of websites by using such links.
A common feature that is implemented by many web browsers is the ability to bookmark pages of websites. Every website is located by its URL (Uniform Resource Locator), and individual pages of each website will have a unique address, stemming from the URL. If a user has a specific page of a website that they visit frequently, then they can bookmark that page in the web browser. The web browser effectively stores the relevant webpage address for later recall. This allows the user to shortcut to that page without having to memorise or retype the address of the individual web page. The bookmarked page could be the home page of the website, defined as www.example.com, or could be page within the website, defined as www.example.com/page1. The naming of pages conforms to well-defined principles.
It is also the case that many web browsers also include a navigation function provided by “back” and “forward” buttons. These buttons allow the user to shortcut to previously visited pages, without having to retype the page addresses. In the sample addresses given above, if the user first navigates to the www.example.com homepage, and then accesses a link on that homepage that takes them to www.example.com/page1, they can use the “back” button to return to the homepage, and having done so, can use the “forward” button to move to the “page 1” page of the website. This functionality is provided through the web browser recording the pages that the user accesses, in order, as a background task. This store of visited page addresses can be accessed as and when the user navigates using the “back” and “forward” buttons.
However, advances in web page technology have adversely affected some of the standard web browsing functions, such as bookmarking and use of the navigation buttons. One such technology is AJAX, (asynchronous JavaScript (Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both) and XML), which refers to a group of interrelated web development techniques used for creating interactive web applications. Using Ajax, web applications can retrieve data from a remote source asynchronously in the background without interfering with the display and behaviour of the displayed page. The end user is probably unaware that such a technology is in use on the web page that they are currently viewing. It is not obvious to the user that requests and responses are taking place behind the scenes while they are accessing a function on a web page.
An example of the type of function provided via AJAX might be a section of a webpage that allows a user to move around a map, for example zooming in on objects and clicking on them for further information, as provided by “yellow pages” type websites. To the user, it feels as if they are navigating between web pages, when in fact they are still on the same page, but actually navigating the specific AJAX application. The result of this is that should the user press the “back” button, they will not go back to the previous view of the page (which is what they are expecting) but actually navigate away from the page entirely. Similarly, if a user were to access an AJAX application, then store the page as a bookmark, when they later return to the page they will not see the view that they are expecting, as they will be presented with the web page with the AJAX application in its starting configuration, without reflecting any of the previous navigation of that application.